<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of class attributes" rel=Appendix href="index_attributes.html">
<link title="Index of class methods" rel=Appendix href="index_methods.html">
<link title="Index of classes" rel=Appendix href="index_classes.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Commands" rel="Chapter" href="Commands.html">
<link title="Declaration" rel="Chapter" href="Declaration.html">
<link title="Exceptions" rel="Chapter" href="Exceptions.html">
<link title="Expressions" rel="Chapter" href="Expressions.html">
<link title="Intermediate" rel="Chapter" href="Intermediate.html">
<link title="Lexer" rel="Chapter" href="Lexer.html">
<link title="Main" rel="Chapter" href="Main.html">
<link title="Parser" rel="Chapter" href="Parser.html">
<link title="Print" rel="Chapter" href="Print.html">
<link title="Print_syntaxtree" rel="Chapter" href="Print_syntaxtree.html">
<link title="Semantic" rel="Chapter" href="Semantic.html">
<link title="Subroutines" rel="Chapter" href="Subroutines.html">
<link title="Syntaxtree" rel="Chapter" href="Syntaxtree.html">
<link title="Target" rel="Chapter" href="Target.html"><title>Index of values</title>
</head>
<body>
<center><h1>Index of values</h1></center>
<table>
<tr><td align="left"><br></td></tr>
<tr><td><a href="Lexer.html#VAL__ocaml_lex_lex_rec">__ocaml_lex_lex_rec</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td><a href="Lexer.html#VAL__ocaml_lex_tables">__ocaml_lex_tables</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td align="left"><br>A</td></tr>
<tr><td><a href="Target.html#VALarray_get">array_get</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
Used to calculate the offset for a vector, with the same controls used for normal elements
</div>
</td></tr>
<tr><td align="left"><br>C</td></tr>
<tr><td><a href="Target.html#VALc_element">c_element</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
If the element is a declared variable, then if the boolean stored into the element is true (which means that
    is an element declared into a function/procedure) we have to calculate the offset from the basepointer, 
    otherwise we calculate it directly into the stack.
</div>
</td></tr>
<tr><td><a href="Target.html#VALc_generator">c_generator</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
Generates the target code for all the elements of the instructions list
</div>
</td></tr>
<tr><td><a href="Target.html#VALc_instruction">c_instruction</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
Conver the intermediate code instructions into the target code instructions
</div>
</td></tr>
<tr><td><a href="Target.html#VALc_procedure">c_procedure</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
Generates the target code for the subroutines, using the stored funUtils instance
</div>
</td></tr>
<tr><td><a href="Target.html#VALc_subroutine">c_subroutine</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
If the c element is null, it means that the subroutine is void, so we have only to call it, otherwise c is the 
    temporary variable where the return value is stored
</div>
</td></tr>
<tr><td><a href="Target.html#VALc_subroutines">c_subroutines</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
Calls the c_procedure method for all the entries of the procedure table
</div>
</td></tr>
<tr><td><a href="Semantic.html#VALcheckAexp">checkAexp</a> [<a href="Semantic.html">Semantic</a>]</td>
<td><div class="info">
Checks the Semantic types of the arithmetical expressions
</div>
</td></tr>
<tr><td><a href="Semantic.html#VALcheckBool">checkBool</a> [<a href="Semantic.html">Semantic</a>]</td>
<td><div class="info">
Checks the semantic type of boolean operations (compare is only allowed betrween int and int or float and float, 
    not mixed operations)
</div>
</td></tr>
<tr><td><a href="Semantic.html#VALcheckLexp">checkLexp</a> [<a href="Semantic.html">Semantic</a>]</td>
<td><div class="info">
Checks the semantic type of left expression
</div>
</td></tr>
<tr><td><a href="Semantic.html#VALcheckParTypes">checkParTypes</a> [<a href="Semantic.html">Semantic</a>]</td>
<td><div class="info">
Checks the semantic type of a list of parameters
</div>
</td></tr>
<tr><td><a href="Semantic.html#VALcmdsemantic">cmdsemantic</a> [<a href="Semantic.html">Semantic</a>]</td>
<td><div class="info">
Checks the semantic type of commands
</div>
</td></tr>
<tr><td><a href="Subroutines.html#VALconvertList">convertList</a> [<a href="Subroutines.html">Subroutines</a>]</td>
<td><div class="info">
Converts a param list into a dec list
</div>
</td></tr>
<tr><td align="left"><br>D</td></tr>
<tr><td><a href="Print.html#VALdumpDecTable">dumpDecTable</a> [<a href="Print.html">Print</a>]</td>
<td><div class="info">
Prints one bind of an Hashtable
</div>
</td></tr>
<tr><td align="left"><br>G</td></tr>
<tr><td><a href="Expressions.html#VALgenArithmetical">genArithmetical</a> [<a href="Expressions.html">Expressions</a>]</td>
<td><div class="info">
Creates the instruction for the arithmetical expressions
</div>
</td></tr>
<tr><td><a href="Expressions.html#VALgenBoolean">genBoolean</a> [<a href="Expressions.html">Expressions</a>]</td>
<td><div class="info">
Creates the instruction for the boolean expressions
</div>
</td></tr>
<tr><td><a href="Declaration.html#VALgenBtype">genBtype</a> [<a href="Declaration.html">Declaration</a>]</td>
<td><div class="info">
Used to create a single variable entry on the dec_table
</div>
</td></tr>
<tr><td><a href="Commands.html#VALgenCommand">genCommand</a> [<a href="Commands.html">Commands</a>]</td>
<td><div class="info">
Creates the instructions for a command and adds the instructions to the Intermediate Code list of instructions
</div>
</td></tr>
<tr><td><a href="Declaration.html#VALgenDecTable">genDecTable</a> [<a href="Declaration.html">Declaration</a>]</td>
<td><div class="info">
Generate the table of declarations from the dec list
</div>
</td></tr>
<tr><td><a href="Declaration.html#VALgenGtype">genGtype</a> [<a href="Declaration.html">Declaration</a>]</td>
<td><div class="info">
Used to build the correct number of entries into the Declaration Hashtable
</div>
</td></tr>
<tr><td><a href="Expressions.html#VALgenParam">genParam</a> [<a href="Expressions.html">Expressions</a>]</td>
<td><div class="info">
Creates the instructions for the parameters before a call
</div>
</td></tr>
<tr><td><a href="Subroutines.html#VALgenParamTable">genParamTable</a> [<a href="Subroutines.html">Subroutines</a>]</td>
<td><div class="info">
Generate the Hashtable with the declaration of the parameters
</div>
</td></tr>
<tr><td><a href="Subroutines.html#VALgenSub">genSub</a> [<a href="Subroutines.html">Subroutines</a>]</td>
<td><div class="info">
Builds the Building entry for the Hashtable and then replace it with the Subroutine entry, which is build by the genSubruotine method.
</div>
</td></tr>
<tr><td><a href="Subroutines.html#VALgenSubTable">genSubTable</a> [<a href="Subroutines.html">Subroutines</a>]</td>
<td><div class="info">
Generate the subroutines table from the proc list
</div>
</td></tr>
<tr><td><a href="Subroutines.html#VALgenSubroutine">genSubroutine</a> [<a href="Subroutines.html">Subroutines</a>]</td>
<td><div class="info">
Generates the Subroutine entry for the Hashtable, after creating an Hashtable containing all the declarations of 
    the local variables and the parameters; then is checked the semantic of the subroutine's body and finally the 
    intermediate code is generated and saved.
</div>
</td></tr>
<tr><td><a href="Target.html#VALgetElementType">getElementType</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
Used to recover the type of data contained into an element (int or float)
</div>
</td></tr>
<tr><td><a href="Semantic.html#VALgetType">getType</a> [<a href="Semantic.html">Semantic</a>]</td>
<td><div class="info">
Recovers the semantic type from an offset
</div>
</td></tr>
<tr><td><a href="Declaration.html#VALgetVarDeclaration">getVarDeclaration</a> [<a href="Declaration.html">Declaration</a>]</td>
<td><div class="info">
Find the binded value corresponding to the ide into the Hashtable (where ide is the identifier for a variable, NOT Vectors or Matrix)
</div>
</td></tr>
<tr><td><a href="Declaration.html#VALgetVecDeclaration">getVecDeclaration</a> [<a href="Declaration.html">Declaration</a>]</td>
<td><div class="info">
Find the binded value corresponding to the ide into the Hashtable (where ide is the identifier for Vectors or Matrix)
</div>
</td></tr>
<tr><td align="left"><br>H</td></tr>
<tr><td><a href="Target.html#VALheader">header</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
The header of the target code
</div>
</td></tr>
<tr><td align="left"><br>I</td></tr>
<tr><td><a href="Declaration.html#VALisVarDeclared">isVarDeclared</a> [<a href="Declaration.html">Declaration</a>]</td>
<td><div class="info">
Check if the variable is binded into the Hashtable
</div>
</td></tr>
<tr><td align="left"><br>J</td></tr>
<tr><td><a href="Subroutines.html#VALjointable">jointable</a> [<a href="Subroutines.html">Subroutines</a>]</td>
<td><div class="info">
Used to join two Hashtable into a single one
</div>
</td></tr>
<tr><td align="left"><br>L</td></tr>
<tr><td><a href="Lexer.html#VALlex">lex</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td align="left"><br>M</td></tr>
<tr><td><a href="Target.html#VALmain_end">main_end</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
The end of the main
</div>
</td></tr>
<tr><td><a href="Target.html#VALmain_start">main_start</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
The signature of the main function, with the first instructions for initialization
</div>
</td></tr>
<tr><td align="left"><br>N</td></tr>
<tr><td><a href="Target.html#VALnewstack_pointer">newstack_pointer</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
Initialize a new stack-pointer
</div>
</td></tr>
<tr><td align="left"><br>P</td></tr>
<tr><td><a href="Print.html#VALprint_DecTable">print_DecTable</a> [<a href="Print.html">Print</a>]</td>
<td><div class="info">
Calls the dumpDecTable for all the declarations table
</div>
</td></tr>
<tr><td><a href="Print.html#VALprint_ICode">print_ICode</a> [<a href="Print.html">Print</a>]</td>
<td><div class="info">
Prints the list of instructions
</div>
</td></tr>
<tr><td><a href="Print_syntaxtree.html#VALprint_aexp">print_aexp</a> [<a href="Print_syntaxtree.html">Print_syntaxtree</a>]</td>
<td><div class="info">
Prints arithmetical expressions
</div>
</td></tr>
<tr><td><a href="Print_syntaxtree.html#VALprint_bType">print_bType</a> [<a href="Print_syntaxtree.html">Print_syntaxtree</a>]</td>
<td><div class="info">
Prints basic Type
</div>
</td></tr>
<tr><td><a href="Print_syntaxtree.html#VALprint_bexp">print_bexp</a> [<a href="Print_syntaxtree.html">Print_syntaxtree</a>]</td>
<td><div class="info">
Prints boolean expressions
</div>
</td></tr>
<tr><td><a href="Print_syntaxtree.html#VALprint_cmd">print_cmd</a> [<a href="Print_syntaxtree.html">Print_syntaxtree</a>]</td>
<td><div class="info">
Prints commands
</div>
</td></tr>
<tr><td><a href="Print_syntaxtree.html#VALprint_dec">print_dec</a> [<a href="Print_syntaxtree.html">Print_syntaxtree</a>]</td>
<td><div class="info">
Prints a declaration
</div>
</td></tr>
<tr><td><a href="Print.html#VALprint_element">print_element</a> [<a href="Print.html">Print</a>]</td>
<td><div class="info">
Prints on the provided channel the selected element
</div>
</td></tr>
<tr><td><a href="Print_syntaxtree.html#VALprint_gType">print_gType</a> [<a href="Print_syntaxtree.html">Print_syntaxtree</a>]</td>
<td><div class="info">
Prints generic Type
</div>
</td></tr>
<tr><td><a href="Print_syntaxtree.html#VALprint_ide">print_ide</a> [<a href="Print_syntaxtree.html">Print_syntaxtree</a>]</td>
<td><div class="info">
Prints an ide
</div>
</td></tr>
<tr><td><a href="Print.html#VALprint_instcode">print_instcode</a> [<a href="Print.html">Print</a>]</td>
<td><div class="info">
Prints on the provided channel the selected instruction type
</div>
</td></tr>
<tr><td><a href="Print.html#VALprint_instruction">print_instruction</a> [<a href="Print.html">Print</a>]</td>
<td><div class="info">
Takes an instruction and print it our into the provided channel
</div>
</td></tr>
<tr><td><a href="Print_syntaxtree.html#VALprint_lexp">print_lexp</a> [<a href="Print_syntaxtree.html">Print_syntaxtree</a>]</td>
<td><div class="info">
Prints left expressions
</div>
</td></tr>
<tr><td><a href="Print_syntaxtree.html#VALprint_param">print_param</a> [<a href="Print_syntaxtree.html">Print_syntaxtree</a>]</td>
<td><div class="info">
Prints Parameters of functions/procedures
</div>
</td></tr>
<tr><td><a href="Print_syntaxtree.html#VALprint_proc">print_proc</a> [<a href="Print_syntaxtree.html">Print_syntaxtree</a>]</td>
<td><div class="info">
Prints The definition of procedures and functions
</div>
</td></tr>
<tr><td><a href="Print_syntaxtree.html#VALprint_program">print_program</a> [<a href="Print_syntaxtree.html">Print_syntaxtree</a>]</td>
<td><div class="info">
Prints the Abstract Syntax Tree
</div>
</td></tr>
<tr><td><a href="Print_syntaxtree.html#VALprint_ret">print_ret</a> [<a href="Print_syntaxtree.html">Print_syntaxtree</a>]</td>
<td><div class="info">
Prints the return value of functions
</div>
</td></tr>
<tr><td><a href="Target.html#VALprint_return">print_return</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
Prints the return type of the subroutines
</div>
</td></tr>
<tr><td><a href="Print_syntaxtree.html#VALprint_string_list">print_string_list</a> [<a href="Print_syntaxtree.html">Print_syntaxtree</a>]</td>
<td><div class="info">
Prints a list of string
</div>
</td></tr>
<tr><td><a href="Parser.html#VALprogram">program</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Target.html#VALpush_params">push_params</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
Pushes all the list of parameters retrieved for the procedures table
</div>
</td></tr>
<tr><td><a href="Target.html#VALpush_single_param">push_single_param</a> [<a href="Target.html">Target</a>]</td>
<td><div class="info">
Pushes a single parameter, incrementing the stackpointer and copying his value in the pointed location
</div>
</td></tr>
<tr><td align="left"><br>S</td></tr>
<tr><td><a href="Print.html#VALstring_of_value">string_of_value</a> [<a href="Print.html">Print</a>]</td>
<td><div class="info">
Converts a value into a string
</div>
</td></tr>
<tr><td align="left"><br>Y</td></tr>
<tr><td><a href="Parser.html#VALyyact">yyact</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyycheck">yycheck</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyydefred">yydefred</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyydgoto">yydgoto</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyygindex">yygindex</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyylen">yylen</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyylhs">yylhs</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyynames_block">yynames_block</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyynames_const">yynames_const</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyyrindex">yyrindex</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyysindex">yysindex</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyytable">yytable</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyytables">yytables</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyytablesize">yytablesize</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyytransl_block">yytransl_block</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyytransl_const">yytransl_const</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
</table><br>
</body>
</html>